🎖️GitЯра🎖️
Node / meshtastic / Meshtastic-Android / files / core / prefs / src / commonMain / kotlin / org / meshtastic / core / prefs / appfunctions / AppFunctionsPrefsImpl.kt
Displaying Raw • Download
core/prefs/src/commonMain/kotlin/org/meshtastic/core/prefs/appfunctions/AppFunctionsPrefsImpl.kt 45939b30e63f53148148d3b21d9f47abf8a4bd45 (45939b30) Text, 4.91 KB
T8b949e/*
* Copyright (c) 2026 Meshtastic LLC
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
Tff7b72package T7ee787org.meshtastic.core.prefs.appfunctions
Tff7b72import T7ee787androidx.datastore.core.DataStore
Tff7b72import T7ee787androidx.datastore.preferences.core.Preferences
Tff7b72import T7ee787androidx.datastore.preferences.core.booleanPreferencesKey
Tff7b72import T7ee787androidx.datastore.preferences.core.edit
Tff7b72import T7ee787kotlinx.coroutines.CoroutineScope
Tff7b72import T7ee787kotlinx.coroutines.SupervisorJob
Tff7b72import T7ee787kotlinx.coroutines.flow.SharingStarted
Tff7b72import T7ee787kotlinx.coroutines.flow.StateFlow
Tff7b72import T7ee787kotlinx.coroutines.flow.map
Tff7b72import T7ee787kotlinx.coroutines.flow.stateIn
Tff7b72import T7ee787kotlinx.coroutines.launch
Tff7b72import T7ee787org.koin.core.annotation.Named
Tff7b72import T7ee787org.koin.core.annotation.Single
Tff7b72import T7ee787org.meshtastic.core.di.CoroutineDispatchers
Tff7b72import T7ee787org.meshtastic.core.repository.AppFunctionsPrefs
Tf0883e@Single
Tf0883e@SuppressTb4b4b4(Ta5d6ff"Ta5d6ffTooManyFunctionsTa5d6ff"Tb4b4b4)
Tff7b72class T56d364AppFunctionsPrefsImplTb4b4b4(
Tf0883e@NamedTb4b4b4(Ta5d6ff"Ta5d6ffAppDataStoreTa5d6ff"Tb4b4b4) Tff7b72private Tff7b72val Te6edf3dataStoreTb4b4b4: Te6edf3DataStoreTff7b72<Te6edf3PreferencesTff7b72>Tb4b4b4,
Te6edf3dispatchersTb4b4b4: Te6edf3CoroutineDispatchersTb4b4b4,
Tb4b4b4) Tb4b4b4: Te6edf3AppFunctionsPrefs Tb4b4b4{
Tff7b72private Tff7b72val Te6edf3scope Tff7b72= Te6edf3CoroutineScopeTb4b4b4(Te6edf3SupervisorJobTb4b4b4(Tb4b4b4) Tff7b72+ Te6edf3dispatchersTb4b4b4.Te6edf3defaultTb4b4b4)
Tff7b72override Tff7b72val Te6edf3masterEnabledTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72> Tff7b72= Te6edf3booleanPrefTb4b4b4(Te6edf3KEY_MASTERTb4b4b4, Tff7b72trueTb4b4b4)
Tff7b72override Tff7b72val Te6edf3sendMessageEnabledTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72> Tff7b72= Te6edf3booleanPrefTb4b4b4(Te6edf3KEY_SEND_MESSAGETb4b4b4, Tff7b72trueTb4b4b4)
Tff7b72override Tff7b72val Te6edf3getMeshStatusEnabledTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72> Tff7b72= Te6edf3booleanPrefTb4b4b4(Te6edf3KEY_GET_MESH_STATUSTb4b4b4, Tff7b72trueTb4b4b4)
Tff7b72override Tff7b72val Te6edf3getNodeListEnabledTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72> Tff7b72= Te6edf3booleanPrefTb4b4b4(Te6edf3KEY_GET_NODE_LISTTb4b4b4, Tff7b72trueTb4b4b4)
Tff7b72override Tff7b72val Te6edf3getChannelInfoEnabledTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72> Tff7b72= Te6edf3booleanPrefTb4b4b4(Te6edf3KEY_GET_CHANNEL_INFOTb4b4b4, Tff7b72trueTb4b4b4)
Tff7b72override Tff7b72val Te6edf3getDeviceStatusEnabledTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72> Tff7b72= Te6edf3booleanPrefTb4b4b4(Te6edf3KEY_GET_DEVICE_STATUSTb4b4b4, Tff7b72trueTb4b4b4)
Tff7b72override Tff7b72val Te6edf3getNodeDetailsEnabledTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72> Tff7b72= Te6edf3booleanPrefTb4b4b4(Te6edf3KEY_GET_NODE_DETAILSTb4b4b4, Tff7b72trueTb4b4b4)
Tff7b72override Tff7b72val Te6edf3getMeshMetricsEnabledTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72> Tff7b72= Te6edf3booleanPrefTb4b4b4(Te6edf3KEY_GET_MESH_METRICSTb4b4b4, Tff7b72trueTb4b4b4)
Tff7b72override Tff7b72val Te6edf3getRecentMessagesEnabledTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72> Tff7b72= Te6edf3booleanPrefTb4b4b4(Te6edf3KEY_GET_RECENT_MESSAGESTb4b4b4, Tff7b72trueTb4b4b4)
Tff7b72override Tff7b72val Te6edf3getUnreadSummaryEnabledTb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72> Tff7b72= Te6edf3booleanPrefTb4b4b4(Te6edf3KEY_GET_UNREAD_SUMMARYTb4b4b4, Tff7b72trueTb4b4b4)
Tff7b72override Tff7b72fun Td2a8ffsetMasterEnabledTb4b4b4(Te6edf3enabledTb4b4b4: Tffa657BooleanTb4b4b4) Tff7b72= Tff7b72setTb4b4b4(Te6edf3KEY_MASTERTb4b4b4, Te6edf3enabledTb4b4b4)
Tff7b72override Tff7b72fun Td2a8ffsetSendMessageEnabledTb4b4b4(Te6edf3enabledTb4b4b4: Tffa657BooleanTb4b4b4) Tff7b72= Tff7b72setTb4b4b4(Te6edf3KEY_SEND_MESSAGETb4b4b4, Te6edf3enabledTb4b4b4)
Tff7b72override Tff7b72fun Td2a8ffsetGetMeshStatusEnabledTb4b4b4(Te6edf3enabledTb4b4b4: Tffa657BooleanTb4b4b4) Tff7b72= Tff7b72setTb4b4b4(Te6edf3KEY_GET_MESH_STATUSTb4b4b4, Te6edf3enabledTb4b4b4)
Tff7b72override Tff7b72fun Td2a8ffsetGetNodeListEnabledTb4b4b4(Te6edf3enabledTb4b4b4: Tffa657BooleanTb4b4b4) Tff7b72= Tff7b72setTb4b4b4(Te6edf3KEY_GET_NODE_LISTTb4b4b4, Te6edf3enabledTb4b4b4)
Tff7b72override Tff7b72fun Td2a8ffsetGetChannelInfoEnabledTb4b4b4(Te6edf3enabledTb4b4b4: Tffa657BooleanTb4b4b4) Tff7b72= Tff7b72setTb4b4b4(Te6edf3KEY_GET_CHANNEL_INFOTb4b4b4, Te6edf3enabledTb4b4b4)
Tff7b72override Tff7b72fun Td2a8ffsetGetDeviceStatusEnabledTb4b4b4(Te6edf3enabledTb4b4b4: Tffa657BooleanTb4b4b4) Tff7b72= Tff7b72setTb4b4b4(Te6edf3KEY_GET_DEVICE_STATUSTb4b4b4, Te6edf3enabledTb4b4b4)
Tff7b72override Tff7b72fun Td2a8ffsetGetNodeDetailsEnabledTb4b4b4(Te6edf3enabledTb4b4b4: Tffa657BooleanTb4b4b4) Tff7b72= Tff7b72setTb4b4b4(Te6edf3KEY_GET_NODE_DETAILSTb4b4b4, Te6edf3enabledTb4b4b4)
Tff7b72override Tff7b72fun Td2a8ffsetGetMeshMetricsEnabledTb4b4b4(Te6edf3enabledTb4b4b4: Tffa657BooleanTb4b4b4) Tff7b72= Tff7b72setTb4b4b4(Te6edf3KEY_GET_MESH_METRICSTb4b4b4, Te6edf3enabledTb4b4b4)
Tff7b72override Tff7b72fun Td2a8ffsetGetRecentMessagesEnabledTb4b4b4(Te6edf3enabledTb4b4b4: Tffa657BooleanTb4b4b4) Tff7b72= Tff7b72setTb4b4b4(Te6edf3KEY_GET_RECENT_MESSAGESTb4b4b4, Te6edf3enabledTb4b4b4)
Tff7b72override Tff7b72fun Td2a8ffsetGetUnreadSummaryEnabledTb4b4b4(Te6edf3enabledTb4b4b4: Tffa657BooleanTb4b4b4) Tff7b72= Tff7b72setTb4b4b4(Te6edf3KEY_GET_UNREAD_SUMMARYTb4b4b4, Te6edf3enabledTb4b4b4)
Tff7b72private Tff7b72fun Td2a8ffbooleanPrefTb4b4b4(Te6edf3keyTb4b4b4: Te6edf3PreferencesTb4b4b4.Te6edf3KeyTff7b72<Tffa657BooleanTff7b72>Tb4b4b4, Te6edf3defaultTb4b4b4: Tffa657BooleanTb4b4b4)Tb4b4b4: Te6edf3StateFlowTff7b72<Tffa657BooleanTff7b72> Tff7b72=
Te6edf3dataStoreTb4b4b4.Te6edf3dataTb4b4b4.Te6edf3map Tb4b4b4{ Tffa657itTff7b72[Te6edf3keyTff7b72] Tff7b72?: Te6edf3default Tb4b4b4}Tb4b4b4.Te6edf3stateInTb4b4b4(Te6edf3scopeTb4b4b4, Te6edf3SharingStartedTb4b4b4.Te6edf3EagerlyTb4b4b4, Te6edf3defaultTb4b4b4)
Tff7b72private Tff7b72fun Td2a8ffsetTb4b4b4(Te6edf3keyTb4b4b4: Te6edf3PreferencesTb4b4b4.Te6edf3KeyTff7b72<Tffa657BooleanTff7b72>Tb4b4b4, Te6edf3valueTb4b4b4: Tffa657BooleanTb4b4b4) Tb4b4b4{
Te6edf3scopeTb4b4b4.Te6edf3launch Tb4b4b4{ Te6edf3dataStoreTb4b4b4.Te6edf3edit Tb4b4b4{ Te6edf3prefs Tff7b72-Tff7b72> Te6edf3prefsTff7b72[Te6edf3keyTff7b72] Tff7b72= Te6edf3value Tb4b4b4} Tb4b4b4}
Tb4b4b4}
Tff7b72companion Tff7b72object Tb4b4b4{
Tff7b72private Tff7b72val Te6edf3KEY_MASTER Tff7b72= Te6edf3booleanPreferencesKeyTb4b4b4(Ta5d6ff"Ta5d6ffappfn_master_enabledTa5d6ff"Tb4b4b4)
Tff7b72private Tff7b72val Te6edf3KEY_SEND_MESSAGE Tff7b72= Te6edf3booleanPreferencesKeyTb4b4b4(Ta5d6ff"Ta5d6ffappfn_send_messageTa5d6ff"Tb4b4b4)
Tff7b72private Tff7b72val Te6edf3KEY_GET_MESH_STATUS Tff7b72= Te6edf3booleanPreferencesKeyTb4b4b4(Ta5d6ff"Ta5d6ffappfn_get_mesh_statusTa5d6ff"Tb4b4b4)
Tff7b72private Tff7b72val Te6edf3KEY_GET_NODE_LIST Tff7b72= Te6edf3booleanPreferencesKeyTb4b4b4(Ta5d6ff"Ta5d6ffappfn_get_node_listTa5d6ff"Tb4b4b4)
Tff7b72private Tff7b72val Te6edf3KEY_GET_CHANNEL_INFO Tff7b72= Te6edf3booleanPreferencesKeyTb4b4b4(Ta5d6ff"Ta5d6ffappfn_get_channel_infoTa5d6ff"Tb4b4b4)
Tff7b72private Tff7b72val Te6edf3KEY_GET_DEVICE_STATUS Tff7b72= Te6edf3booleanPreferencesKeyTb4b4b4(Ta5d6ff"Ta5d6ffappfn_get_device_statusTa5d6ff"Tb4b4b4)
Tff7b72private Tff7b72val Te6edf3KEY_GET_NODE_DETAILS Tff7b72= Te6edf3booleanPreferencesKeyTb4b4b4(Ta5d6ff"Ta5d6ffappfn_get_node_detailsTa5d6ff"Tb4b4b4)
Tff7b72private Tff7b72val Te6edf3KEY_GET_MESH_METRICS Tff7b72= Te6edf3booleanPreferencesKeyTb4b4b4(Ta5d6ff"Ta5d6ffappfn_get_mesh_metricsTa5d6ff"Tb4b4b4)
Tff7b72private Tff7b72val Te6edf3KEY_GET_RECENT_MESSAGES Tff7b72= Te6edf3booleanPreferencesKeyTb4b4b4(Ta5d6ff"Ta5d6ffappfn_get_recent_messagesTa5d6ff"Tb4b4b4)
Tff7b72private Tff7b72val Te6edf3KEY_GET_UNREAD_SUMMARY Tff7b72= Te6edf3booleanPreferencesKeyTb4b4b4(Ta5d6ff"Ta5d6ffappfn_get_unread_summaryTa5d6ff"Tb4b4b4)
Tb4b4b4}
Tb4b4b4}
Served by rngit 1.5.0 - Generated in 0.13s